import java.util.*;
import java.util.Stack;

public class code1 {

    Stack<Integer> stack1 = new Stack<>();
    Stack<Integer> stack2 = new Stack<>();

    public void push(int node) {
        stack1.add(node);
        //为空 或者 有小的元素
        if(stack2.isEmpty() ||stack2.peek() > node)
            stack2.add(node);
        else
            //重复了也要加入 避免pop
            stack2.add(stack2.peek());
    }

    public void pop() {
        stack1.pop();
        stack2.pop();
    }

    public int top() {
        return stack1.peek();
    }

    public int min() {
        return stack2.peek();
    }

}